﻿namespace = prison_c

####################
#  TORTURE EVENTS  #
####################

#I am getting tortured, but I have a secret
prison_c.1001 = { #by Mathilda Bjarnehed
	type = character_event
	title = prison.1001.t
	desc = {
		desc = prison.1001.start.desc
		#Method
		first_valid = {
			triggered_desc = {
				trigger = { scope:torture_method = flag:rack }
				desc = prison.1001.rack.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:whip }
				desc = prison.1001.whip.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:rats }
				desc = prison.1001.rats.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:poetry }
				desc = prison.1001.poetry.desc
			}
		}
		#My or someone else's secret
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:reveal_secret_owner }
				desc = prison.1001.anothers_secret.desc
			}
			desc = prison.1001.my_secret.desc
		}
	}
	theme = prison
	left_portrait = {
		character = root
		animation = worry

	}
	right_portrait = {
		character = scope:actor
		animation = schadenfreude
	}
	lower_left_portrait = scope:reveal_secret_owner

	trigger = {
		scope:recipient = {
			OR = {
				any_secret = {
					torture_secret_trigger = { PARTICIPANT = scope:recipient }
				}
				any_known_secret = {
					secret_owner = { save_temporary_scope_as = torture_secret_owner }
					torture_secret_trigger = { PARTICIPANT = scope:torture_secret_owner }
				}
			}
		}
	}

	on_trigger_fail = {
		scope:recipient = {
			if = {
				limit = { has_character_flag = is_being_tortured }
				remove_character_flag = is_being_tortured
			}
		}
		if = { #They no longer have a secret
			limit = {
				scope:recipient = {
					NOR = {
						any_secret = {
							torture_secret_trigger = { PARTICIPANT = scope:recipient }
						}
						any_known_secret = {
							secret_owner = { save_temporary_scope_as = torture_secret_owner }
							torture_secret_trigger = { PARTICIPANT = scope:torture_secret_owner }
						}
					}
				}
			}
			scope:actor = {
				trigger_event = prison_c.1010
			}
		}
	}

	immediate = {
		play_music_cue = "mx_cue_prison"
		hidden_effect = {
			every_secret = {
				limit = { torture_secret_trigger = { PARTICIPANT = scope:recipient } }
				add_to_list = torture_secrets
			}
			every_known_secret = {
				limit = {
					secret_owner = { save_temporary_scope_as = torture_secret_owner }
					torture_secret_trigger = { PARTICIPANT = scope:torture_secret_owner }
				}
				add_to_list = torture_secrets
			}
			random_in_list = {
				list = torture_secrets
				weight = {
					base = 1
					modifier = {
						secret_owner = {
							OR = {
								has_relation_rival = scope:actor
								has_relation_lover = scope:actor
								is_close_or_extended_family_of = scope:actor
								is_spouse_of = scope:actor
								AND = {
									is_vassal_of = scope:actor
									highest_held_title_tier >= tier_county
								}
								any_vassal_or_below = { this = scope:actor }
							}
						}
						add = 20
					}
					modifier = {
						secret_owner = { is_ruler = yes }
						add = 10
					}
					modifier = {
						secret_owner = { this = scope:recipient }
						add = 10
					}
				}
				save_scope_as = secret_to_reveal
			}

			if = {
				limit = {
					NOT = { scope:secret_to_reveal = { secret_owner = root } }
				}
				scope:secret_to_reveal = { secret_owner = { save_scope_as = reveal_secret_owner } }
			}
		}
	}

	#Tell actor
	option = {
		name = prison.1001.a
		show_as_tooltip = { scope:secret_to_reveal = { reveal_to = scope:actor } }

		if = {
			limit = {
				NOR = {
					has_trait = honest
					has_trait = deceitful
				}
			}
			add_stress = minor_stress_impact_gain
		}
		else = {
			stress_impact = {
				deceitful = medium_stress_impact_gain
				brave = medium_stress_impact_gain
			}
		}

		scope:actor = { trigger_event = prison_c.1002 }

		ai_chance = {
			base = 150
			modifier = {
				scope:actor = { has_trait = torturer }
				add = 100
			}
		}
	}

	#Refuse
	option = {
		name = prison.1001.b
		show_as_tooltip = { torturer_interaction_recipient_effect = yes }

		scope:actor = { trigger_event = prison_c.1003 }

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_boldness = 1
				min = -99
			}
			modifier = {
				any_secret = {
					this = scope:secret_to_reveal
					is_blackmailable_secret_trigger = {
						BLACKMAILER = scope:actor
						PARTICIPANT = root
					}
				}
				add = 100
			}
		}
	}
}

#Torturer discovers secret
prison_c.1002 = { #by Mathilda Bjarnehed
	type = character_event
	title = prison.1001.t
	desc = {
		#Method
		first_valid = {
			triggered_desc = {
				trigger = { scope:torture_method = flag:rack }
				desc = prison.1002.rack.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:whip }
				desc = prison.1002.whip.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:rats }
				desc = prison.1002.rats.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:poetry }
				desc = prison.1002.poetry.desc
			}
		}
		#Theirs or someone else's secret
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:reveal_secret_owner }
				desc = prison.1002.anothers_secret.desc
			}
			desc = prison.1002.my_secret.desc
		}
	}
	theme = prison
	left_portrait = {
		character = root
		animation = schadenfreude

	}
	right_portrait = {
		character = scope:recipient
		animation = fear
	}

	trigger = {  }

	on_trigger_fail = {
		scope:recipient = {
			if = {
				limit = { has_character_flag = is_being_tortured }
				remove_character_flag = is_being_tortured
			}
		}
	}

	immediate = {
		play_music_cue = "mx_cue_prison"
	}

	option = {
		name = prison.1002.a

		scope:secret_to_reveal = { reveal_to_without_events_effect = { CHARACTER = root } }
	}

	option = {
		trigger = {
			scope:recipient = { is_ai = yes }
			OR = {
				has_trait = sadistic
				has_trait = callous
				has_trait = arbitrary
				has_trait = wrathful
				has_trait = vengeful
				has_trait = deceitful
				has_relation_rival = scope:recipient
			}
		}
		trait = sadistic
		trait = callous
		trait = arbitrary
		trait = wrathful
		trait = vengeful
		trait = deceitful
		name = prison.1002.b

		scope:secret_to_reveal = { reveal_to_without_events_effect = { CHARACTER = root } }

		torturer_interaction_recipient_effect = yes

		stress_impact = {
			compassionate = minor_stress_impact_gain
			forgiving = minor_stress_impact_gain
		}
	}

	after = { # Remove the flag blocking other prison interactions
		scope:recipient = {
			if = {
				limit = { has_character_flag = is_being_tortured }
				remove_character_flag = is_being_tortured
			}
		}
		house_feud_torture_event_effect = yes
	}
}

#Torturer does not discover secret (but there was a secret)
prison_c.1003 = { #by Mathilda Bjarnehed
	type = character_event
	title = prison.1003.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:torture_method = flag:rack }
				desc = prison.1003.rack.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:whip }
				desc = prison.1003.whip.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:rats }
				desc = prison.1003.rats.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:poetry }
				desc = prison.1003.poetry.desc
			}
		}
	}
	theme = prison
	left_portrait = {
		character = root
		animation = schadenfreude

	}
	right_portrait = {
		character = scope:recipient
		animation = fear
	}

	trigger = {  }

	on_trigger_fail = {
		scope:recipient = {
			if = {
				limit = { has_character_flag = is_being_tortured }
				remove_character_flag = is_being_tortured
			}
		}
	}

	immediate = {
		play_music_cue = "mx_cue_prison"
	}

	option = {
		name = {
			trigger = {
				OR = {
					has_trait = sadistic
					has_relation_rival = scope:recipient
				}
			}
			text = prison.1003.a
		}
		name = {
			trigger = {
				NOR = {
					has_trait = sadistic
					has_relation_rival = scope:recipient
				}
			}
			text = prison.1003.b
		}

		torturer_interaction_recipient_effect = yes
		house_feud_torture_event_effect = yes
	}
}



#Torturer does not discover secret (because there was no secret)
prison_c.1010 = { #by Mathilda Bjarnehed
	type = character_event
	title = prison.1003.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:torture_method = flag:rack }
				desc = prison.1003.rack.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:whip }
				desc = prison.1003.whip.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:rats }
				desc = prison.1003.rats.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:poetry }
				desc = prison.1003.poetry.desc
			}
		}
	}
	theme = prison
	left_portrait = {
		character = root
		animation = schadenfreude

	}
	right_portrait = {
		character = scope:recipient
		animation = fear
	}

	trigger = {  }

	on_trigger_fail = {
		scope:recipient = {
			if = {
				limit = { has_character_flag = is_being_tortured }
				remove_character_flag = is_being_tortured
			}
		}
	}

	immediate = {
		play_music_cue = "mx_cue_prison"
	}

	option = {
		name = {
			trigger = {
				OR = {
					has_trait = sadistic
					has_relation_rival = scope:recipient
				}
			}
			text = prison.1003.a
		}
		name = {
			trigger = {
				NOR = {
					has_trait = sadistic
					has_relation_rival = scope:recipient
				}
			}
			text = prison.1003.b
		}

		show_as_tooltip = { torturer_interaction_recipient_effect = yes }
		scope:recipient = { trigger_event = prison_c.1011 }
	}
}

#Recipient gets tortured (no secret version)
prison_c.1011 = { #by Mathilda Bjarnehed
	type = character_event
	title = prison.1003.t
	desc = {
		desc = prison.1001.start.desc
		#Method
		first_valid = {
			triggered_desc = {
				trigger = { scope:torture_method = flag:rack }
				desc = prison.1010.rack.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:whip }
				desc = prison.1010.whip.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:rats }
				desc = prison.1010.rats.desc
			}
			triggered_desc = {
				trigger = { scope:torture_method = flag:poetry }
				desc = prison.1010.poetry.desc
			}
		}
	}
	theme = prison
	left_portrait = {
		character = root
		animation = fear

	}
	right_portrait = {
		character = scope:actor
		animation = schadenfreude
	}

	trigger = {  }

	on_trigger_fail = {
		scope:recipient = {
			if = {
				limit = { has_character_flag = is_being_tortured }
				remove_character_flag = is_being_tortured
			}
		}
	}

	immediate = {
		play_music_cue = "mx_cue_prison"
	}

	option = {
		name = prison.1010.a
		torturer_interaction_recipient_effect = yes
	}

	after = { house_feud_torture_event_effect = yes }
}